package org.jeecg.modules.bean.entity.patient;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

/**
 * @Description: patient
 * @Author: jeecg-boot
 * @Date:   2023-11-09
 * @Version: V1.0
 */
@Data
@TableName("patient")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="patient对象", description="patient")
public class Patient implements Serializable {
    private static final long serialVersionUID = 1L;

	/**archivesno*/
	@Excel(name = "archivesno", width = 15)
    @ApiModelProperty(value = "archivesno")
    @TableField(value = "archivesno")
    private String archivesno;
	/**name*/
	@Excel(name = "name", width = 15)
    @ApiModelProperty(value = "name")
    @TableField(value = "name")
    private String name;
	/**id*/
	@TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "id")
    @TableField(value = "id")
    private Integer id;
	/**sexno*/
	@Excel(name = "sexno", width = 15)
    @ApiModelProperty(value = "sexno")
    @TableField(value = "sexno")
    private String sexno;
	/**bloodtypeno*/
	@Excel(name = "bloodtypeno", width = 15)
    @ApiModelProperty(value = "bloodtypeno")
    @TableField(value = "bloodtypeno")
    private String bloodtypeno;
	/**birthday*/
	@Excel(name = "birthday", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "birthday")
    @TableField(value = "birthday")
    private java.util.Date birthday;
	/**nationalityno*/
	@Excel(name = "nationalityno", width = 15)
    @ApiModelProperty(value = "nationalityno")
    @TableField(value = "nationalityno")
    private String nationalityno;
	/**occupationno*/
	@Excel(name = "occupationno", width = 15)
    @ApiModelProperty(value = "occupationno")
    @TableField(value = "occupationno")
    private String occupationno;
	/**ethnicgroupno*/
	@Excel(name = "ethnicgroupno", width = 15)
    @ApiModelProperty(value = "ethnicgroupno")
    @TableField(value = "ethnicgroupno")
    private String ethnicgroupno;
	/**maritalstatusno*/
	@Excel(name = "maritalstatusno", width = 15)
    @ApiModelProperty(value = "maritalstatusno")
    @TableField(value = "maritalstatusno")
    private String maritalstatusno;
	/**posttitleno*/
	@Excel(name = "posttitleno", width = 15)
    @ApiModelProperty(value = "posttitleno")
    @TableField(value = "posttitleno")
    private String posttitleno;
	/**email*/
	@Excel(name = "email", width = 15)
    @ApiModelProperty(value = "email")
    @TableField(value = "email")
    private String email;
	/**telephone*/
	@Excel(name = "telephone", width = 15)
    @ApiModelProperty(value = "telephone")
    @TableField(value = "telephone")
    private String telephone;
	/**mailingaddress*/
	@Excel(name = "mailingaddress", width = 15)
    @ApiModelProperty(value = "mailingaddress")
    @TableField(value = "mailingaddress")
    private String mailingaddress;
	/**postcode*/
	@Excel(name = "postcode", width = 15)
    @ApiModelProperty(value = "postcode")
    @TableField(value = "postcode")
    private String postcode;
	/**workunit*/
	@Excel(name = "workunit", width = 15)
    @ApiModelProperty(value = "workunit")
    @TableField(value = "workunit")
    private String workunit;
	/**operatorno*/
	@Excel(name = "operatorno", width = 15)
    @ApiModelProperty(value = "operatorno")
    @TableField(value = "operatorno")
    private String operatorno;
	/**operatorname*/
	@Excel(name = "operatorname", width = 15)
    @ApiModelProperty(value = "operatorname")
    @TableField(value = "operatorname")
    private String operatorname;
	/**operatedate*/
	@Excel(name = "operatedate", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "operatedate")
    @TableField(value = "operatedate")
    private java.util.Date operatedate;
	/**allergicmedicine*/
	@Excel(name = "allergicmedicine", width = 15)
    @ApiModelProperty(value = "allergicmedicine")
    @TableField(value = "allergicmedicine")
    private String allergicmedicine;
	/**cardno*/
	@Excel(name = "cardno", width = 15)
    @ApiModelProperty(value = "cardno")
    @TableField(value = "cardno")
    private String cardno;
	/**medicareno*/
	@Excel(name = "medicareno", width = 15)
    @ApiModelProperty(value = "medicareno")
    @TableField(value = "medicareno")
    private String medicareno;
	/**helpcode*/
	@Excel(name = "helpcode", width = 15)
    @ApiModelProperty(value = "helpcode")
    @TableField(value = "helpcode")
    private String helpcode;
	/**educationalgrade*/
	@Excel(name = "educationalgrade", width = 15)
    @ApiModelProperty(value = "educationalgrade")
    @TableField(value = "educationalgrade")
    private String educationalgrade;
	/**validcertificate*/
	@Excel(name = "validcertificate", width = 15)
    @ApiModelProperty(value = "validcertificate")
    @TableField(value = "validcertificate")
    private String validcertificate;
	/**certificateno*/
	@Excel(name = "certificateno", width = 15)
    @ApiModelProperty(value = "certificateno")
    @TableField(value = "certificateno")
    private String certificateno;
	/**homeplace*/
	@Excel(name = "homeplace", width = 15)
    @ApiModelProperty(value = "homeplace")
    @TableField(value = "homeplace")
    private String homeplace;
	/**registeredaddress*/
	@Excel(name = "registeredaddress", width = 15)
    @ApiModelProperty(value = "registeredaddress")
    @TableField(value = "registeredaddress")
    private String registeredaddress;
	/**workaddress*/
	@Excel(name = "workaddress", width = 15)
    @ApiModelProperty(value = "workaddress")
    @TableField(value = "workaddress")
    private String workaddress;
	/**workphone*/
	@Excel(name = "workphone", width = 15)
    @ApiModelProperty(value = "workphone")
    @TableField(value = "workphone")
    private String workphone;
	/**patientkindno*/
	@Excel(name = "patientkindno", width = 15)
    @ApiModelProperty(value = "patientkindno")
    @TableField(value = "patientkindno")
    private String patientkindno;
	/**chargekindno*/
	@Excel(name = "chargekindno", width = 15)
    @ApiModelProperty(value = "chargekindno")
    @TableField(value = "chargekindno")
    private String chargekindno;
	/**address*/
	@Excel(name = "address", width = 15)
    @ApiModelProperty(value = "address")
    @TableField(value = "address")
    private String address;
	/**relative*/
	@Excel(name = "relative", width = 15)
    @ApiModelProperty(value = "relative")
    @TableField(value = "relative")
    private String relative;
	/**relativetel*/
	@Excel(name = "relativetel", width = 15)
    @ApiModelProperty(value = "relativetel")
    @TableField(value = "relativetel")
    private String relativetel;
	/**relativeaddress*/
	@Excel(name = "relativeaddress", width = 15)
    @ApiModelProperty(value = "relativeaddress")
    @TableField(value = "relativeaddress")
    private String relativeaddress;
	/**isvalid*/
	@Excel(name = "isvalid", width = 15)
    @ApiModelProperty(value = "isvalid")
    @TableField(value = "isvalid")
    private Integer isvalid;
	/**clinicmedicalno*/
	@Excel(name = "clinicmedicalno", width = 15)
    @ApiModelProperty(value = "clinicmedicalno")
    @TableField(value = "clinicmedicalno")
    private String clinicmedicalno;
	/**ageunit*/
	@Excel(name = "ageunit", width = 15)
    @ApiModelProperty(value = "ageunit")
    @TableField(value = "ageunit")
    private String ageunit;
	/**createdate*/
	@Excel(name = "createdate", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "createdate")
    @TableField(value = "createdate")
    private java.util.Date createdate;
	/**personno*/
	@Excel(name = "personno", width = 15)
    @ApiModelProperty(value = "personno")
    @TableField(value = "personno")
    private String personno;
	/**relationship*/
	@Excel(name = "relationship", width = 15)
    @ApiModelProperty(value = "relationship")
    @TableField(value = "relationship")
    private String relationship;
	/**电子档案主表id*/
	@Excel(name = "电子档案主表id", width = 15)
    @ApiModelProperty(value = "电子档案主表id")
    @TableField(value = "earchiveparentid")
    private Integer earchiveparentid;
	/**workunittype*/
	@Excel(name = "workunittype", width = 15)
    @ApiModelProperty(value = "workunittype")
    @TableField(value = "workunittype")
    private String workunittype;
	/**qrcode*/
	@Excel(name = "qrcode", width = 15)
    @ApiModelProperty(value = "qrcode")
    @TableField(value = "qrcode")
    private String qrcode;
	/**ecardnumber*/
	@Excel(name = "ecardnumber", width = 15)
    @ApiModelProperty(value = "ecardnumber")
    @TableField(value = "ecardnumber")
    private String ecardnumber;
	/**cardissuer*/
	@Excel(name = "cardissuer", width = 15)
    @ApiModelProperty(value = "cardissuer")
    @TableField(value = "cardissuer")
    private String cardissuer;
	/**validstartdate*/
	@Excel(name = "validstartdate", width = 15)
    @ApiModelProperty(value = "validstartdate")
    @TableField(value = "validstartdate")
    private String validstartdate;
	/**validenddate*/
	@Excel(name = "validenddate", width = 15)
    @ApiModelProperty(value = "validenddate")
    @TableField(value = "validenddate")
    private String validenddate;

    @ApiModelProperty(value = "数据来源 1 旧数据  0新数据")
    @TableField(exist = false)
    private Integer type = 1;

    @ApiModelProperty(value = "病例号")
    @TableField(exist = false)
    private String mzblh;

//    public String getSexno(){
//        if ("1".equals(this.sexno)){
//            this.sexno = "男";
//        } else if ("2".equals(this.sexno)){
//            this.sexno = "女";
//        }
//        return this.sexno;
//    }
}
